package com.nowcoder.community.service;/**
 * 功能描述
 *
 * @author 21775
 * @date 2022/09/21  20:50
 */

import com.nowcoder.community.entity.Message;

import java.util.List;

/**
 *@ClassName MessageService
 *@Description TODO 私信服务类
 *@Author 21775
 *@Date 2022/9/21 20:50
 *@Version 1.0
 */
public interface MessageService {
    // 查询当前用户的会话列表,针对每个会话只返回一条最新的私信.
    List<Message> selectConversations(int userId, int offset, int limit);

    // 查询当前用户的会话数量.
    int selectConversationCount(int userId);

    // 查询某个会话所包含的私信列表.
    List<Message> selectLetters(String conversationId, int offset, int limit);

    // 查询某个会话所包含的私信数量.
    int selectLetterCount(String conversationId);

    // 查询未读私信的数量
    int selectLetterUnreadCount(int userId, String conversationId);

    public int addMessage(Message message);

    public int readMessage(List<Integer> ids);


    // 查询某个主题下最新的通知
    Message findLatestNotice(int userId, String topic);

    // 查询某个主题所包含的通知数量
    int findNoticeCount(int userId, String topic);

    // 查询未读的通知的数量
    int findNoticeUnreadCount(int userId, String topic);

    // 查询某个主题所包含的通知列表
    List<Message> findNotices(int userId, String topic, int offset, int limit);
}
